#ifndef _Functions_H_
#define _Functions_H_

#include <fstream>
#include <string>
#include <vector>
#include <list>

std::string getTrimLine(std::string str);

template <typename T>
void getFileLinesTemplate(const std::string & fileName, T &res) {  
  std::ifstream inFile(fileName.c_str());
  if (inFile.is_open() == false) {
    throw std::logic_error("Unable to open file");     
  }
  std::string line;
  while (getline(inFile, line)) {
    std::string tempLine = getTrimLine(line);
    if (tempLine.empty() == false) {
      res.push_back(tempLine);
    }
  }

  inFile.close();
};

int processFile(const std::string &inFileName, const std::string &outFileName);

#endif